v2.0: replay: extend last fec set check for 32+ retransmitter signed shreds (backport of #2101)#2192
Conversation
|
Cherry-pick of 93edb65 has failed: To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally |
|
This is the last piece of the duplicate block detection effort, which we hope to rollout in 2.x. |
|
are we planning to bp #1840 |
ccb0a09 to
2075492
Compare
|
I think this PR is ready for approval/merge. |
|
@AshwinSekar can you resolve the merge conflict? |
e37ff07
2075492 to
e37ff07
Compare
|
f now downstream is busted |
e37ff07 to
fe4c2b3
Compare
…#2101) * replay: extend last fec set check for 32+ retransmitter signed shreds * pr feedback: use separate feature flag * pr feedback: is_retransmitter_signed -> is_retransmitter_signed_variant, false for legacy * pr feedback: update doc comment fail -> error * pr feedback: hash -> bank_hash for report metrics * refactor metrics inside blockstore fn, return block_id for future use * pr feedback: gate metrics reporting * pr feedback: do not distinguish impossible combos, simplify check code * pr feedback: remove report_metrics helper fn * pr feedback: remove metric * pr feedback: block_id -> last_fec_set_merkle_root
72293fc
fe4c2b3 to
72293fc
Compare
Problem
When the feature flag is turned on, we need to verify that the last fec set uses the new shred format.
Because the last fec set is not known when receiving shreds, and the new shred format is only used for the last set, we cannot perform this check until replay has completed.
Summary of Changes
Extend the check which compares the merkle roots of the last fec set to additionally check that they are all of the retransmitter shred variant.
This is an automatic backport of pull request #2101 done by [Mergify](https://mergify.com).